The occurrence of low unemployment rates coupled with high levels of business growth in the late 1990's forced companies in all industries to do more work with fewer resources. The need to properly understand and efficiently allocate project tasks to available resources led to increased usage of project management applications. Prior project management applications were designed to operate in a desktop environment. While prior project management applications had the ability to access centrally located databases, the application's primary design called for stand-alone operations, where a single project manager could monitor only his projects and his resources from his desktop computer. A need arose for a project management application designed for enterprise access, whereby any project manager within an enterprise could place a project plan and the resources to be used on a central database so that other project managers and enterprise managers could view projects on an enterprise global basis.
Clients routinely access application programs containing sensitive data. The application programs can comprise project management applications having project scheduling data, resource scheduling data, and resource experience data. The application programs can operate on a desktop computer, with data limited to the data available in a desktop system. Alternatively, the application programs can operate on an enterprise-wide level, with data available from the enterprise system through a central database.
For example, a large organization can have multiple projects in progress at any one point in time. Each project can use multiple resources to achieve the goals of the project. Examples of resources can include employee labor, machinery, and facilities. When a project manager begins a new project, the project manager typically wants to know the current allocation of resources to determine which resources have the time and experience necessary to accomplish the project manager's project. If the project manager accesses the desktop version of the project management application, the project manager typically can only view his own projects and how he has currently allocated resources. The project manager typically cannot view other projects within the same enterprise or how all the resources in the enterprise are allocated among all the projects in the enterprise.
If the project manager accesses the enterprise version of the project management application, the project manager can typically view not only his projects but also projects managed by other project managers. The project manager also can typically view how resources throughout the enterprise are allocated amongst the projects. Having an enterprise view of the project and resource allocation allows a project manager to make a more educated decision on when his project can be completed, what the best resources are for his project, and what resources are available for his project throughout the enterprise.
Prior project management applications either allowed an application user direct access to information stored in the database or required the input of a connection string before access to the database was allowed. Allowing direct access to the database placed the stored data at risk of being lost or modified by any person with access to the system. Requiring the application user to supply a connection string before viewing the database provided improved security of the data in the database. However, management applications requiring a connection string were still prone to being hacked, thereby allowing unfettered access to the database and placing the stored data at risk. A need arose for a project management application with an improved security architecture to control and facilitate access to enterprise project data stored in the database.
Furthermore, third-party application providers can now create specific add-on applications for the project management application which extend the overall functionality of the project management application. However, the inconsistencies of each third-party application's access methods to the data in the database of the project management application can reduce the overall effectiveness of the project management application and place the stored data in the database at risk. Providing a standard access method for add-on applications can increase overall effectiveness of the project management application, reduce the risk of losing the stored data, and provide incentive to third-party add-on application providers to build upon the current architecture of the project management application.